package com.weiyuwqj.api.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

import com.weiyuwqj.api.base.BaseService;
import com.weiyuwqj.api.common.PageList;
import com.weiyuwqj.api.common.Paginator;
import com.weiyuwqj.api.model.SysAssetProduct;
import com.weiyuwqj.api.model.vo.SysAssetProductVo;

/**
 * 
 * @className:SysAssetCompanyService	
 * @Description: 资产方产品service
 * @author cx
 * @date:2017年3月25日上午10:38:10 
 *
 */
public interface SysAssetProductService extends BaseService<SysAssetProduct>{
	
	/**
	 * 列表
	 * @return
	 */
	PageList getPageList(final Paginator p,final Map<String, Object> param);
	
	
	/**
	 * 通过id查询
	 * @param id
	 * @return
	 */
	SysAssetProductVo findById(final Integer id);
	
	/**
	 *  新增、编辑
	 * @param sysAssetProductVo
	 */
	void saveAssetProduct(final SysAssetProductVo sysAssetProductVo);
	
	/**
	 * 如果标的初审或者复审失败的话则需要将资产产品的itemId置为0
	 * 将标id置空
	 * @param itemId
	 */
	void updateProductItemId(final Integer itemId);
	
	/**
	 * 通过标Id查询 资产方id
	 * @param itemId
	 * @return
	 */
	Integer findByItemId(final Integer itemId);
	
	/**
	 * 资产推送标的
     * @param debtTransferable 是否可债转 0不可 1可
     * @param endTime 结束时间
     * @param itemRate
     */
	void pushAssetPackage(final Integer productId, final Integer debtTransferable, final Date endTime, Map map, BigDecimal debtServeFeeRate, BigDecimal itemRate);
	
}
